﻿' ----------------------------------------------------------------------------------
' Microsoft Developer & Platform Evangelism
' 
' Copyright (c) Microsoft Corporation. All rights reserved.
' 
' THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 
' EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 
' OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ----------------------------------------------------------------------------------
' The example companies, organizations, products, domain names,
' e-mail addresses, logos, people, places, and events depicted
' herein are fictitious.  No association with any real company,
' organization, product, domain name, email address, logo, person,
' places, or events is intended or should be inferred.
' ----------------------------------------------------------------------------------

Imports Microsoft.Samples.WindowsPhoneCloud.Web.Models

Namespace Infrastructure

    <CLSCompliant(False)>
    Public Interface IUserPrivilegesRepository
        Function GetUsersWithPrivilege(ByVal privilege As String) As IEnumerable(Of UserPrivilege)

        Sub AddPrivilegeToUser(ByVal userId As String, ByVal privilege As String)

        Sub AddPublicPrivilege(ByVal privilege As String)

        Sub RemovePrivilegeFromUser(ByVal userId As String, ByVal privilege As String)

        Sub DeletePublicPrivilege(ByVal privilege As String)

        Sub DeletePrivilege(ByVal privilege As String)

        Function HasUserPrivilege(ByVal userId As String, ByVal privilege As String) As Boolean

        Function PublicPrivilegeExists(ByVal privilege As String) As Boolean
    End Interface
End Namespace